43 research outputs found

    On the customization of model management systems for file-centric IDEs

    Get PDF
    International audienceModel-based solutions are becoming more sophisticated because of the advent of new types of models, languages, and editors. To deal with this complexity, some of the current Integrated Development Environments (IDEs) offer Model Management Systems (MMSs) that provide functionalities to visualize, navigate, and search the modeling artifacts existing in a workspace. Each MMS defines the types of modeling artifacts that it supports and, commonly, furnish extensibility mechanisms for including new ones. However, the use of those mechanisms usually requires a big implementation effort. As a result, when an MMS does not support all the types of modeling artifacts that a model-driven engineer uses, he/she discards it and ends up manipulating his/her solution through file system views which is not appropriate when projects become larger. In this paper we present some of our preliminary results towards the construction of MoMS-DL, a domain-specific language to define (and automatically generate) customized Eclipse-based MMSs improv- ing the daily work of model-driven engineers

    Using Transformation-Aspects in Model-Driven Software Product Lines

    Get PDF
    International audienceModel-Driven Software Product Lines (MD-SPL) are configured by using configuration models and Problem Space metamodels that capture product line scope. Products are derived by means of successive model transformations, starting from problem space models and based on the configuration models. Fine-variations of MD-SPLs correspond to characteristics that afect particular elements of models involved in the model transformations. In this paper, we present an approach to create MD-SPL including fine-variations. We configure products creating fine-feature configurations. Then, based on such configurations, we create MD-SPLs using principles of Aspects Oriented Development. Thus, our approach allows to derive products including fine-grained details of configuration

    QoS Contract-Aware Reconfiguration of Component Architectures Using E-Graphs

    Get PDF
    International audienceIn this paper we focus on the formalization of component-based architecture self-reconfiguration as an action associated to quality-of-service (QoS) contracts violation. With this, we aim to develop on the vision of the component-based software engineering (CBSE) as a generator of software artifacts responsible for QoS contracts. This formalization, together with a definition of a QoS contract, forms the basis of the framework we propose to enable a system to preserve its QoS contracts. Our approach is built on a theory of extended graph (e-graph) rewriting as a formalism to represent QoS contracts, component-based architectural structures and architecture reconfiguration. We use a rule-based strategy for the extensible part of our framework. The reconfiguration rules are expressed as e-graph rewriting rules whose left and right hand sides can be used to encode design patterns for addressing QoS properties. These rules, given by a QoS property domain expert, are checked as safe, i.e., terminating and confluent, before its application by graph pattern-matching over the runtime representation of the system

    A Framework for Evaluating Quality-Driven Self-Adaptive Software Systems

    Get PDF
    International audienceOver the past decade the dynamic capabilities of self-adaptive software-intensive systems have proliferated and improved significantly. To advance the field of self-adaptive and self-managing systems further and to leverage the benefits of self-adaptation, we need to develop methods and tools to assess and possibly certify adaptation properties of self-adaptive systems, not only at design time but also, and especially, at run-time. In this paper we propose a framework for evaluating quality-driven self-adaptive software systems. Our framework is based on a survey of self-adaptive system papers and a set of adaptation properties derived from control theory properties. We also establish a mapping between these properties and software quality attributes. Thus, corresponding software quality metrics can then be used to assess adaptation properties

    An SCA-Based Middleware Platform for Mobile Devices

    Get PDF
    International audienceIn pervasive environments, users can potentially access a variety of services through their mobile devices. However, in order to use the new services, we need to adapt the functionality of these devices. To achieve it, we propose to load a bootstrap into them that is able to communicate with the services. However this bootstrap has to be adapted due to the diversity of services offered in the environment, which are heterogeneous regarding aspects such as communication and discovery. Our bootstrap has two layers: the application layer and the middleware layer. This paper focuses in the middleware layer. We propose an architecture based on the Service Component Architecture (SCA). The architecture eases the reconguration of the components at runtime to support different communication mechanisms and service discovery protocols. Besides, using SCA, we can add new functionality to the middleware platform that can be provided by remote applications (SCA or not)

    DYNAMICO: A Reference Model for Governing Control Objectives and Context Relevance in Self-Adaptive Software Systems

    Get PDF
    International audienceDespite the valuable contributions on self-adaptation, most implemented approaches assume adaptation goals and monitoring infrastructures as non-mutable, thus constraining their applicability to systems whose context awareness is restricted to static monitors. Therefore, separation of concerns, dynamic monitoring, and runtime requirements variability are critical for satisfying system goals under highly changing environments. In this chapter we present DYNAMICO, a reference model for engineering adaptive software that helps guaranteeing the coherence of (i) adaptation mechanisms with respect to changes in adaptation goals; and (ii) monitoring mechanisms with respect to changes in both adaptation goals and adaptation mechanisms. DYNAMICO improves the engineering of self-adaptive systems by addressing (i) the management of adaptation properties and goals as control objectives; (ii) the separation of concerns among feedback loops required to address control objectives over time; and (iii) the management of dynamic context as an independent control function to preserve context-awareness in the adaptation mechanism

    Variability management in a model-driven software product line

    Get PDF
    Variability management in Software Product Lines (SPLs) has two fundamental challenges: (1) the expression of common and variable features, and (2) the development of applications employing properly such features. In this paper, we present a Software Product Line based on Models (MD-SPL). We separate the concepts related to SPLs in different domains and we build core assets like feature models, metamodels, and three different types of transformation rules to transform models from a source domain to different (variable) models into a target domain. By using transformation rules, we are able to generate applications in an incremental process, guided by a set of features selected for each target domain. Thus, we manage to extend the SPLs scope, separate the domains diminishing the complexity to create applications with variable characteristics, and automatically generate applications using transformation rules. In order to illustrate our approach, we have built a MDSPL where the products are small applications used in programming computers teaching

    Objets historiques et annotations pour les environnements logiciels

    No full text
    In software process-centered environments (SPCE), information management is a complex problem which must conciliate two requirements: product management and process management. Besides the large quantity of diverse and highly interdependent entities, product management must take into account evolution aspects and variation factors of software, as well as, the cooperative nature of software activities. Process management encompasses modelling, enactment, performance and quality assessment processes. Various information types must be taken into account: trace of process execution, events raised into the environment and quality measures. We propose Annotated Historical Objects as a support to represent the information of an SPCE. Historical Object is the basic notion of our historical object model which allows to model software artifacts and their evolution. Annotation notion enhances the model by allowing information to be introduced for denoting facts (notes, observations, measures, etc.) which can be associated to others entities in the system. A navigational and historical query language has been defined to access the various data. Thanks to this language, the SPCE provides a powerful service to collect from the object database the information needed to evaluate and to control software processes. In addition, we propose to use the possibilities offered by this model to define complex events and possibly, to keep its history. Events can identify situations which involve current and past states of the system. For that, event definition can include conditions expressed in the query language. Annotations allow to record event occurrences and system states. An implementation is proposed into the Adele system.Dans un environnement guide par les procedes de fabrication de logiciel (EGPFL), la gestion de l'information est un probleme complexe qui doit concilier deux besoins : gerer le produit logiciel et gerer les procedes de fabrication. Outre la grande quantite d'entites diverses et fortement interdependantes, la gestion du produit doit prendre en compte l'aspect evolutif et les facteurs de variation du logiciel, ainsi que la nature cooperative des activites de fabrication des logiciels. La gestion des procedes recouvre la modelisation, l'execution, l'evaluation et la supervision des procedes. Diverses informations doivent alors etre prises en compte : la trace d'execution des procedes, les evenements survenus dans l'environnement et les mesures de qualite. Nous proposons les objets historiques annotes pour gerer l'information d'un EGPFL. L'objet historique constitue la notion de base d'un modele a objets historique permettant de representer a la fois les entites logicielles et leur evolution. La notion d'annotation vient, quant a elle, enrichir ce modele pour permettre d'introduire des informations qui denotent des faits (notes, mesures, observations, etc) pouvant etre ponctuellement associes aux entites de l'EGPFL. Un langage de requetes est defini afin d'acceder aux differentes informations. Grace a ce langage, l'EGPFL dispose d'un service puissant pour rassembler, a partir de la base d'objets, les diverses informations necessaires a l'evaluation et au controle des procedes de fabrication. Nous proposons egalement d'exploiter les possibilites offertes par notre modele pour definir des evenements et, eventuellement, en conserver un historique. Les evenements permettent d'identifier des situations liant des informations provenant aussi bien de l'etat courant que des etats passes de l'EGPFL. C'est pourquoi la definition d'un evenement peut comporter des conditions exprimees dans le langage de requetes. L'emploi d'annotations permet d'enregistrer les occurrences d'evenements, ainsi qu'une partie de l'etat du systeme. Une implantation du modele est proposee dans le systeme Adele
    corecore